using System;
using System.Collections.Generic;
using System.Text;

using NHibernate;
using Zwms.Data.Base;
using System.Runtime.Serialization;

namespace Zwms.Data.BusinessObjects
{
    [DataContract]
    public partial class BilOutBill : BusinessBase<string>
    {
        #region Declarations

        private string _oBPlanCode = String.Empty;
        private string _outType = String.Empty;
        private string _pickBillCode = String.Empty;
        private string _pOCode = String.Empty;
        private string _senderCode = String.Empty;
        private string _senderName = String.Empty;
        private string _recieverCode = String.Empty;
        private string _recieverName = String.Empty;
        private string _warehouseCode = String.Empty;
        private string _warehouseName = String.Empty;
        private string _outManCode = String.Empty;
        private string _outManName = String.Empty;
        private string _outLocationCode = String.Empty;
        private string _outLocationName = String.Empty;
        private string _outDate = String.Empty;
        private string _outTime = String.Empty;
        private string _auditorCode = String.Empty;
        private string _auditorName = String.Empty;
        private string _auditDate = String.Empty;
        private string _auditTime = String.Empty;
        private string _auditNote = String.Empty;
        private string _billStatus = String.Empty;
        private string _isDeactived = String.Empty;
        private string _createUserCode = String.Empty;
        private string _createUserName = String.Empty;
        private string _createDate = String.Empty;
        private string _createTime = String.Empty;
        private string _editUserCode = String.Empty;
        private string _editUserName = String.Empty;
        private string _editDate = String.Empty;
        private string _editTime = String.Empty;
        private string _remark = String.Empty;



        #endregion

        #region Constructors

        public BilOutBill() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            sb.Append(this.GetType().FullName);
            sb.Append(_oBPlanCode);
            sb.Append(_outType);
            sb.Append(_pickBillCode);
            sb.Append(_pOCode);
            sb.Append(_senderCode);
            sb.Append(_senderName);
            sb.Append(_recieverCode);
            sb.Append(_recieverName);
            sb.Append(_warehouseCode);
            sb.Append(_warehouseName);
            sb.Append(_outManCode);
            sb.Append(_outManName);
            sb.Append(_outLocationCode);
            sb.Append(_outLocationName);
            sb.Append(_outDate);
            sb.Append(_outTime);
            sb.Append(_auditorCode);
            sb.Append(_auditorName);
            sb.Append(_auditDate);
            sb.Append(_auditTime);
            sb.Append(_auditNote);
            sb.Append(_billStatus);
            sb.Append(_isDeactived);
            sb.Append(_createUserCode);
            sb.Append(_createUserName);
            sb.Append(_createDate);
            sb.Append(_createTime);
            sb.Append(_editUserCode);
            sb.Append(_editUserName);
            sb.Append(_editDate);
            sb.Append(_editTime);
            sb.Append(_remark);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties
        [DataMember]
        public virtual string OBPlanCode
        {
            get { return _oBPlanCode; }
            set
            {
                OnOBPlanCodeChanging();
                _oBPlanCode = value;
                OnOBPlanCodeChanged();
            }
        }
        partial void OnOBPlanCodeChanging();
        partial void OnOBPlanCodeChanged();
          [DataMember]
        public virtual string OutType
        {
            get { return _outType; }
            set
            {
                OnOutTypeChanging();
                _outType = value;
                OnOutTypeChanged();
            }
        }
        partial void OnOutTypeChanging();
        partial void OnOutTypeChanged();
          [DataMember]
        public virtual string PickBillCode
        {
            get { return _pickBillCode; }
            set
            {
                OnPickBillCodeChanging();
                _pickBillCode = value;
                OnPickBillCodeChanged();
            }
        }
        partial void OnPickBillCodeChanging();
        partial void OnPickBillCodeChanged();
          [DataMember]
        public virtual string POCode
        {
            get { return _pOCode; }
            set
            {
                OnPOCodeChanging();
                _pOCode = value;
                OnPOCodeChanged();
            }
        }
        partial void OnPOCodeChanging();
        partial void OnPOCodeChanged();
          [DataMember]
        public virtual string SenderCode
        {
            get { return _senderCode; }
            set
            {
                OnSenderCodeChanging();
                _senderCode = value;
                OnSenderCodeChanged();
            }
        }
        partial void OnSenderCodeChanging();
        partial void OnSenderCodeChanged();
          [DataMember]
        public virtual string SenderName
        {
            get { return _senderName; }
            set
            {
                OnSenderNameChanging();
                _senderName = value;
                OnSenderNameChanged();
            }
        }
        partial void OnSenderNameChanging();
        partial void OnSenderNameChanged();
          [DataMember]
        public virtual string RecieverCode
        {
            get { return _recieverCode; }
            set
            {
                OnRecieverCodeChanging();
                _recieverCode = value;
                OnRecieverCodeChanged();
            }
        }
        partial void OnRecieverCodeChanging();
        partial void OnRecieverCodeChanged();
          [DataMember]
        public virtual string RecieverName
        {
            get { return _recieverName; }
            set
            {
                OnRecieverNameChanging();
                _recieverName = value;
                OnRecieverNameChanged();
            }
        }
        partial void OnRecieverNameChanging();
        partial void OnRecieverNameChanged();
          [DataMember]
        public virtual string WarehouseCode
        {
            get { return _warehouseCode; }
            set
            {
                OnWarehouseCodeChanging();
                _warehouseCode = value;
                OnWarehouseCodeChanged();
            }
        }
        partial void OnWarehouseCodeChanging();
        partial void OnWarehouseCodeChanged();
          [DataMember]
        public virtual string WarehouseName
        {
            get { return _warehouseName; }
            set
            {
                OnWarehouseNameChanging();
                _warehouseName = value;
                OnWarehouseNameChanged();
            }
        }
        partial void OnWarehouseNameChanging();
        partial void OnWarehouseNameChanged();
          [DataMember]
        public virtual string OutManCode
        {
            get { return _outManCode; }
            set
            {
                OnOutManCodeChanging();
                _outManCode = value;
                OnOutManCodeChanged();
            }
        }
        partial void OnOutManCodeChanging();
        partial void OnOutManCodeChanged();
          [DataMember]
        public virtual string OutManName
        {
            get { return _outManName; }
            set
            {
                OnOutManNameChanging();
                _outManName = value;
                OnOutManNameChanged();
            }
        }
        partial void OnOutManNameChanging();
        partial void OnOutManNameChanged();
          [DataMember]
        public virtual string OutLocationCode
        {
            get { return _outLocationCode; }
            set
            {
                OnOutLocationCodeChanging();
                _outLocationCode = value;
                OnOutLocationCodeChanged();
            }
        }
        partial void OnOutLocationCodeChanging();
        partial void OnOutLocationCodeChanged();
          [DataMember]
        public virtual string OutLocationName
        {
            get { return _outLocationName; }
            set
            {
                OnOutLocationNameChanging();
                _outLocationName = value;
                OnOutLocationNameChanged();
            }
        }
        partial void OnOutLocationNameChanging();
        partial void OnOutLocationNameChanged();
          [DataMember]
        public virtual string OutDate
        {
            get { return _outDate; }
            set
            {
                OnOutDateChanging();
                _outDate = value;
                OnOutDateChanged();
            }
        }
        partial void OnOutDateChanging();
        partial void OnOutDateChanged();
          [DataMember]
        public virtual string OutTime
        {
            get { return _outTime; }
            set
            {
                OnOutTimeChanging();
                _outTime = value;
                OnOutTimeChanged();
            }
        }
        partial void OnOutTimeChanging();
        partial void OnOutTimeChanged();
          [DataMember]
        public virtual string AuditorCode
        {
            get { return _auditorCode; }
            set
            {
                OnAuditorCodeChanging();
                _auditorCode = value;
                OnAuditorCodeChanged();
            }
        }
        partial void OnAuditorCodeChanging();
        partial void OnAuditorCodeChanged();
          [DataMember]
        public virtual string AuditorName
        {
            get { return _auditorName; }
            set
            {
                OnAuditorNameChanging();
                _auditorName = value;
                OnAuditorNameChanged();
            }
        }
        partial void OnAuditorNameChanging();
        partial void OnAuditorNameChanged();
          [DataMember]
        public virtual string AuditDate
        {
            get { return _auditDate; }
            set
            {
                OnAuditDateChanging();
                _auditDate = value;
                OnAuditDateChanged();
            }
        }
        partial void OnAuditDateChanging();
        partial void OnAuditDateChanged();
          [DataMember]
        public virtual string AuditTime
        {
            get { return _auditTime; }
            set
            {
                OnAuditTimeChanging();
                _auditTime = value;
                OnAuditTimeChanged();
            }
        }
        partial void OnAuditTimeChanging();
        partial void OnAuditTimeChanged();
          [DataMember]
        public virtual string AuditNote
        {
            get { return _auditNote; }
            set
            {
                OnAuditNoteChanging();
                _auditNote = value;
                OnAuditNoteChanged();
            }
        }
        partial void OnAuditNoteChanging();
        partial void OnAuditNoteChanged();
          [DataMember]
        public virtual string BillStatus
        {
            get { return _billStatus; }
            set
            {
                OnBillStatusChanging();
                _billStatus = value;
                OnBillStatusChanged();
            }
        }
        partial void OnBillStatusChanging();
        partial void OnBillStatusChanged();
          [DataMember]
        public virtual string IsDeactived
        {
            get { return _isDeactived; }
            set
            {
                OnIsDeactivedChanging();
                _isDeactived = value;
                OnIsDeactivedChanged();
            }
        }
        partial void OnIsDeactivedChanging();
        partial void OnIsDeactivedChanged();
          [DataMember]
        public virtual string CreateUserCode
        {
            get { return _createUserCode; }
            set
            {
                OnCreateUserCodeChanging();
                _createUserCode = value;
                OnCreateUserCodeChanged();
            }
        }
        partial void OnCreateUserCodeChanging();
        partial void OnCreateUserCodeChanged();
          [DataMember]
        public virtual string CreateUserName
        {
            get { return _createUserName; }
            set
            {
                OnCreateUserNameChanging();
                _createUserName = value;
                OnCreateUserNameChanged();
            }
        }
        partial void OnCreateUserNameChanging();
        partial void OnCreateUserNameChanged();
          [DataMember]
        public virtual string CreateDate
        {
            get { return _createDate; }
            set
            {
                OnCreateDateChanging();
                _createDate = value;
                OnCreateDateChanged();
            }
        }
        partial void OnCreateDateChanging();
        partial void OnCreateDateChanged();
          [DataMember]
        public virtual string CreateTime
        {
            get { return _createTime; }
            set
            {
                OnCreateTimeChanging();
                _createTime = value;
                OnCreateTimeChanged();
            }
        }
        partial void OnCreateTimeChanging();
        partial void OnCreateTimeChanged();
          [DataMember]
        public virtual string EditUserCode
        {
            get { return _editUserCode; }
            set
            {
                OnEditUserCodeChanging();
                _editUserCode = value;
                OnEditUserCodeChanged();
            }
        }
        partial void OnEditUserCodeChanging();
        partial void OnEditUserCodeChanged();
  [DataMember]
        public virtual string EditUserName
        {
            get { return _editUserName; }
            set
            {
                OnEditUserNameChanging();
                _editUserName = value;
                OnEditUserNameChanged();
            }
        }
        partial void OnEditUserNameChanging();
        partial void OnEditUserNameChanged();
          [DataMember]
        public virtual string EditDate
        {
            get { return _editDate; }
            set
            {
                OnEditDateChanging();
                _editDate = value;
                OnEditDateChanged();
            }
        }
        partial void OnEditDateChanging();
        partial void OnEditDateChanged();
          [DataMember]
        public virtual string EditTime
        {
            get { return _editTime; }
            set
            {
                OnEditTimeChanging();
                _editTime = value;
                OnEditTimeChanged();
            }
        }
        partial void OnEditTimeChanging();
        partial void OnEditTimeChanged();
          [DataMember]
        public virtual string Remark
        {
            get { return _remark; }
            set
            {
                OnRemarkChanging();
                _remark = value;
                OnRemarkChanged();
            }
        }
        partial void OnRemarkChanging();
        partial void OnRemarkChanged();

        #endregion
    }
}